﻿#include <iostream>
using namespace std;

//int main()
//{
//    float num;
//    char ch;
//    cin >> num >> ch;
//
//    int ret = 20;
//    if (num > 1)
//    {
//        ret += ceil(num) - 1;
//    };
//    if (ch == 'y')
//        ret += 5;
//    cout << ret;
//
//    return 0;
//}

//最⼩花费爬楼梯（动态规划 - 线性 dp）
//https://www.nowcoder.com/practice/9b969a3ec20149e3b870b256ad40844e?tpId=230&tqId=39751&ru=/exam/oj

//const int N = 1e5 + 10;
//int n;
//int cost[N];
//int dp[N];
//
//int main()
//{
//    cin >> n;
//    for (int i = 0; i < n; i++)
//        cin >> cost[i];
//
//    dp[0] = cost[0];
//    dp[1] = cost[1];
//
//    for (int i = 2; i <= n; i++)
//    {
//        dp[i] = cost[i] + min(dp[i - 1], dp[i - 2]);
//    }
//    cout << dp[n];
//
//    return 0;
//}

//数组中两个字符串的最⼩距离（模拟 + 贪⼼）
//https://www.nowcoder.com/questionTerminal/2c6a0a8e1d20492f92941400036e0890


#include <iostream>
#include <string>
#include <vector>
using namespace std;

//int main()
//{
//    string str1, str2;
//    vector<string> vs;
//    int size;
//    cin >> size >> str1 >> str2;
//    for (int i = 0; i < size; i++)
//    {
//        string tmp;
//        cin >> tmp;
//        vs.push_back(tmp);
//    }
//
//    int s1 = 0x7f7f7f7f, s2 = 0x7f7f7f7f, ret = 0x3f3f3f3f;
//    for (int i = 0; i < size; i++)
//    {
//        if (vs[i] == str1)
//        {
//            s1 = i;
//            ret = min(ret, abs(s1 - s2));
//        }
//        else if (vs[i] == str2)
//        {
//            s2 = i;
//            ret = min(ret, abs(s1 - s2));
//        }
//    }
//    if (s1 == 0x7f7f7f7f || s2 == 0x7f7f7f7f)
//        cout << -1;
//    else
//        cout << ret;
//}
